package fr.adfm.service.implemenation;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import fr.adfm.dao.interfaces.IClientDao;
import fr.adfm.dao.interfaces.IMembreDao;
import fr.adfm.dto.MemberDto;
import fr.adfm.entity.Client;
import fr.adfm.entity.Membre;
import fr.adfm.service.interfaces.ILoginService;


@Component
@Transactional
public class LoginService  implements ILoginService {

	@Autowired
	IMembreDao membreDao;
	
	@Autowired
	IClientDao cliendDao;

	@Override
	public MemberDto doConnexion(String email, String motDePasse) {	
		try{
				Membre membre = membreDao.findMembreByEmail(email);
				
				if(membre==null) return null;
				if (membre.getMotDePasse().equals(motDePasse)) {
					MemberDto memberDto = new MemberDto();
					BeanUtils.copyProperties(membre,  memberDto);
					memberDto.setProfil(membre.getProfil().name());
					
					if(membre.getProfil().name() == "Client")
					{
						Client client = cliendDao.find(membre.getMembreId());
						memberDto.setNom(client.getNom());
					}
					return memberDto;
				}
				return null;	
			}
		catch(Exception e){
			return null;
		}
	}
	



}
